Technology migration for integrated circuits with radical design restrictions

ABSTRACT

A method, system and program product for migrating an integrated circuit (IC) design from a source technology without radical design restrictions (RDR) to a target technology with RDR, are disclosed. Also, a method, system and program product for migrating an integrated circuit design from a source technology without RDR to a target technology with RDR in which space may be reserved for late insertion of a feature and in which migration first occurs in a primary compaction direction having less tolerant ground rules.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.10/905,008, filed Dec. 9, 2004 now U.S. Pat. No. 7,257,783, which is acontinuation-in-part of U.S. patent application Ser. No. 10/904,225,filed Oct. 29, 2004 now U.S. Pat. No. 7,302,651.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates generally to technology migration forintegrated circuits (ICs), and more particularly, to a method, systemand program product for technology migration for an IC with radicaldesign restrictions.

2. Related Art

Design migration is an essential process to achieve maximum layoutproductivity in very large-scale integrated (VLSI) circuit designs.Conventional graph-based compaction techniques were developed totranslate a symbolic layout to a physical layout based on simplisticedge-based ground rules. These techniques have also been used to solvethe design migration problem. More recently, a minimum layoutperturbation formulation of the design migration problem results in amethod that preserves the integrity of the source layout. While existingdesign migration software continues to be fine tuned, its functionalityhas become relatively mature. However, as technology is progressing intothe sub-wavelength regime, new layout challenges have emerged in theform of groupings of fundamental design restrictions, which is sometimesreferred to in the art as “radical design restrictions” (hereinafter“RDR”). RDR is proposed to better enable alternating phase shifted maskdesigns and control line-width on the polysilicon-conductor level inultra-deep submicron technologies. RDR requires, for example, a limitednumber of narrow line widths, a single orientation of narrow features,narrow features placed on a uniform and coarse pitch, a uniformproximity environment for all critical gates and a limited number ofpitches for critical gates. This regular design style presents a newchallenge to the design migration solution, and demands newfunctionalities in the existing design migration software.

In view of the foregoing, there is a need in the art to address theproblems of the related art.

SUMMARY OF THE INVENTION

The invention includes a method, system and program product formigrating an integrated circuit design from a source technology withoutRDR to a target technology with RDR. The invention implements a minimumlayout perturbation approach that addresses RDR. The invention alsosolves the problem of inserting one or more dummy shapes where required,and extending the lengths of the critical shapes and/or the dummy shapesto meet “edge coverage” requirements.

A first aspect of the invention is directed to a method for migrating anintegrated circuit (IC) design layout from a source technology withoutradical design restrictions (RDR) to a target technology with RDR, themethod comprising the steps of: legalizing the design layout to meet anRDR grid constraint and fix any ground rule violation in a firstdirection; inserting required dummy shapes; and running a minimumperturbation analysis in order to address an edge coverage requirementof at least one critical shape and fix any ground rule violation in asecond direction.

A second aspect of the invention is directed to a system for migratingan integrated circuit (IC) design layout from a source technologywithout radical design restrictions (RDR) to a target technology withRDR, the system comprising: means for legalizing the layout to meet anRDR grid constraint and fix any ground rule violation in a firstdirection; means for inserting required dummy shapes; and means forrunning a minimum perturbation analysis in order to address an edgecoverage requirement of at least one critical shape and fix any groundrule violation in a second direction.

A third aspect of the invention is directed to a computer programproduct comprising a computer useable medium having computer readableprogram code embodied therein for migrating an integrated circuit (IC)design from a source technology without radical design restrictions(RDR) to a target technology with RDR, the program product comprising:program code configured to legalize the layout to meet an RDR gridconstraint and fix any ground rule violation in a first direction;program code configured to insert required dummy shapes; and programcode configured to run a minimum perturbation analysis in order toaddress an edge coverage requirement of at least one critical shape andfix any ground rule violation in a second direction.

A fourth aspect of the invention is directed to a method for legalizingan integrated circuit design layout subject to ground rules and radicaldesign restrictions (RDR) grid constraints with minimum layoutperturbation of an original design, the method comprising the steps of:computing a target on-pitch position for each of a plurality of criticalshapes with minimum layout perturbation while satisfying the RDR gridconstraint; and legalizing the design layout as a linear programmingproblem by treating the target on-pitch positions of the critical shapesas a set of ground rule space constraints between the plurality ofcritical shapes and a design layout boundary.

A fifth aspect of the invention is directed to a system for legalizingan integrated circuit design layout subject to ground rules and radicaldesign restrictions (RDR) grid constraints with minimum layoutperturbation of an original design, the system comprising: means forcomputing a target on-pitch position for each of a plurality of criticalshapes with minimum layout perturbation while satisfying the RDR gridconstraint; and means for legalizing the design layout as a linearprogramming problem by treating the target on-pitch positions of thecritical shapes as a set of ground rule space constraints between theplurality of critical shapes and a design layout boundary.

A sixth aspect of the invention is directed to a computer programproduct comprising a computer useable medium having computer readableprogram code embodied therein for legalizing an integrated circuitdesign layout subject to ground rules and radical design restrictions(RDR) grid constraints with minimum layout perturbation of an originaldesign, the program product comprising: program code configured tocompute a target on-pitch position for each of a plurality of criticalshapes with minimum layout perturbation while satisfying the RDR gridconstraint; and program code configured to legalize the design layout asa linear programming problem by treating the target on-pitch positionsof the critical shapes as a set of ground rule space constraints betweenthe plurality of critical shapes and a design layout boundary.

In alternative embodiments, the invention also includes a method, systemand program product for migrating an integrated circuit design from asource technology without RDR to a target technology with RDR in whichspace may be reserved for late insertion of a feature and in whichmigration first occurs in a primary compaction direction having lesstolerant ground rules.

A seventh aspect of the invention is directed to a method for migratingan integrated circuit (IC) design layout from a source technologywithout radical design restrictions (RDR) to a target technology withRDR, the method comprising the steps of: inserting a designator shapewithin the design layout prior to migration to reserve space for afeature; and migrating the design layout from the source technology tothe target technology while reserving space for the feature according tothe designator shape.

An eighth aspect of the invention is directed to a system for migratingan integrated circuit (IC) design layout from a source technologywithout radical design restrictions (RDR) to a target technology withRDR, the system comprising: means for inserting a designator shapewithin the design layout prior to migration to reserve space for afeature; and means for migrating the design layout from the sourcetechnology to the target technology while reserving space for thefeature according to the designator shape.

A ninth aspect of the invention includes a computer program productcomprising a computer useable medium having computer readable programcode embodied therein for migrating an integrated circuit (IC) designlayout from a source technology without radical design restrictions(RDR) to a target technology with RDR, the program product comprising:program code configured to insert a designator shape within the designlayout prior to migration to reserve space for a feature; and programcode configured to migrate the design layout from the source technologyto the target technology while reserving space for the feature accordingto the designator shape.

A tenth aspect of the invention relates to a method for migrating anintegrated circuit (IC) design layout from a source technology withoutradical design restrictions (RDR) to a target technology with RDR, themethod comprising the steps of: prioritizing a first direction and asecond direction for compaction into a primary compaction directionbased on which of the first and second directions has less tolerantground rules and a secondary compaction direction based on the directionhaving more tolerant ground rules; and migrating the design layout fromthe source technology to the target technology in the primary compactiondirection using the less tolerant ground rules.

An eleventh aspect of the invention provides a system for migrating anintegrated circuit (IC) design layout from a source technology withoutradical design restrictions (RDR) to a target technology with RDR, themethod comprising the steps of: means for prioritizing a first directionand a second direction for compaction into a primary compactiondirection based on which of the first and second directions has lesstolerant ground rules and a secondary compaction direction based on thedirection having more tolerant ground rules; and means for migrating thedesign layout from the source technology to the target technology in theprimary compaction direction.

A twelfth aspect of the invention is directed to a computer programproduct comprising a computer useable medium having computer readableprogram code embodied therein for migrating an integrated circuit (IC)design layout from a source technology without radical designrestrictions (RDR) to a target technology with RDR, the program productcomprising: prioritizing a first direction and a second direction forcompaction into a primary compaction direction based on which of thefirst and second directions has less tolerant ground rules and asecondary compaction direction based on the direction having moretolerant ground rules; and program code configured to migrate the designlayout from the source technology to the target technology in theprimary compaction direction.

The foregoing and other features of the invention will be apparent fromthe following more particular description of embodiments of theinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of this invention will be described in detail, withreference to the following figures, wherein like designations denotelike elements, and wherein:

FIG. 1 shows an illustrative initial layout of critical gates beforelegalization.

FIG. 2 shows the layout of FIG. 1 after legalization where a dummy shapehas been inserted in order to meet RDR.

FIGS. 3A-B show an example layout including critical shapes and dummyshapes, and a gate extension.

FIG. 4 shows a migration system in accordance with one embodiment of theinvention.

FIG. 5 shows a flow diagram of operational methodology of the system ofFIG. 4.

FIG. 6 shows an illustrative integrated circuit design layout at aninitial stage.

FIG. 7 shows the IC design layout of FIG. 6 after diffusion regionresizing.

FIG. 8 shows the IC design layout of FIG. 7 after dummy shape insertion.

FIG. 9 shows the IC design layout of FIG. 8 after shape extension.

FIGS. 10-16 show details of various shapes relative to creating shapeextensions according to the method of FIG. 5.

FIG. 17 shows a flow diagram of one embodiment of a detail of theoperational methodology of FIG. 5.

FIG. 18 shows an illustrative IC design layout to illustrate adjacencyof shapes for modeling of an edge-weighted graph according to the methodof FIG. 5.

FIGS. 19A-D show various shape arrangements to illustrate criticalshapes under the context of RDR.

FIG. 20 shows an illustrative edge-weighted graph.

FIGS. 21A-E show various steps of one embodiment for determining targetpositions according to the methodology of FIG. 17.

FIG. 22 shows a migration system in accordance with an alternativeembodiment of the invention.

FIG. 23 shows a flow diagram of operational methodology of the system ofFIG. 22 according to an alternative embodiment of the invention.

FIGS. 24 and 25A-B show illustrative design layouts including designatorshapes according to an alternative embodiment of the invention.

DETAILED DESCRIPTION

The invention includes a system, method and program product formigrating an integrated circuit (IC) design from a source technologywithout RDR to a target technology with RDR. Although RDRs are currentlyonly required for critical gates, the invention is applicable tolegalize shapes with similar constraints, such as metal wiring shapes.Therefore, the term “critical shapes” will be used herein to refer togates, PC shapes or metal wiring shapes, which are required to meet thegrid constraints. Critical shapes are to be differentiated from “dummyshapes,” which the invention may insert to make an IC design legal, andmeet a design rule requirement.

In evaluating RDR, a gate is formed by the intersection between apolysilicon-conductor (PC) shape and a diffusion region (RX). “Pitch” isdefined as the spacing between the centerlines of two adjacent gates.“Critical gates” are those that must comply with RDR in order to beproperly printed in the manufacturing process. Usually, the criticalgates have the minimal PC width over the diffusion region. An examplesituation of the space restriction of the critical gates in thelegalization process is shown below in FIGS. 1-2. (Space restrictionsare also referred to as “grid constraints” as they require placement ofcritical gates on a coarse grid.) FIG. 1 shows an initial layout 10 ofcritical gates 12 before legalization. As shown in FIG. 2, given a setof fixed pitches, e.g., 250 nm or 500 nm, for critical gates with a PCwidth of 60 nm over the diffusion region, after legalization all thecritical gates must be placed on a 250 nm grid with spacing betweenadjacent critical gates of either 190 nm or 440 nm. FIG. 2 shows layout10 after legalization where a dummy PC shape 14 has been inserted inorder to provide the uniform proximity environment required by RDR. Toillustrate the underlying grid constraints, in FIG. 2, grid lines aredrawn to match the left edge of each critical gate. When the criticalgates have the uniform PC width over RX, it does not matter whether thegrid lines match the centerline or the edge line of the critical gatesas long as the spacing constraints are met. For purposes of description,the critical gates are assumed to have the minimal PC width over RX andthus the pitch is the sum of minimal gate spacing and minimal PC widthover RX.

FIGS. 3A-B show an example situation of an “edge coverage” requirement,i.e., a PC shape end extension is required by RDR. These figures includecritical gates b, c and d, dummy PC shapes a and e, and a diffusionregion 18. In FIGS. 3A-B, the grid lines match the centerline of the PCshapes. Dummy PC shapes a and e are required to be inserted into thedesign so that each critical gate b, c, d is surrounded to its left andright by a PC shape in order to provide a uniform proximity environment.In addition, referring to FIG. 3B, the horizontal lines 16A, 16B, 16Cindicate the heights to which the surrounding PC shapes must extend inorder for adjacent PC shapes to be printed correctly. In this example,edge 3 on critical gate b requires edge 2 on dummy shape a to have thesame length in order to be printed properly. Similarly, edge 4 oncritical gate b requires edge 5 on critical gate c to be as long as edge4 so that edge 4 can be printed properly. In this case, critical gate brequires shorter critical gate c to extend upward beyond horizontal line16B to horizontal line 16A. A “gate extension” 20 therefore is requiredon critical gate c to meet RDR, as shown in FIG. 3B. A “gate extension”as used herein is any extension of a gate required for proper printingof an adjacent gate. Edge 7 on critical gate d, however, only requiresthe portion of edge 6 on critical gate c, which is as long as edge 7. Inthis example, the ground rule manual requires all critical gate edges(critical gate edges over diffusion regions plus an extension valuebeyond the diffusion region) to have another PC shape edge one or twopitches away for the entire length of the critical section (the actualgate plus an extension at each end). This rule requires both extensionsand addition of dummy shapes. Details of edge/gate relationships forFIG. 3B are as follows:

Gate/ Dummy Shape Requires (in order to print correctly) a Nothing, it'sa dummy shape; it is not required to be printed correctly. b a and c,specifically edges 1/2 and 5/6 required to print edges 3 and 4. c b andd, specifically edges 3/4 and 7/8. Edges 3/4 need only extend for thelength of gate c. d c and e, specifically edges 5/6 and 9/10 arerequired to print edges 7 and 8 e Nothing, it's a dummy shape; it is notrequired to be printed correctly.

The above two examples illustrate the new demands for a technologymigration process when a design is migrated from a source technologywithout RDR to a target technology with RDR.

Layout compaction is one technique used for migrating designs todifferent technologies, which is based on the longest path algorithmtechnique. The compaction technique has been applied to gridconstraints, as described above, as discussed in “VLSI layout compactionwith grid and mixed constraints” by Lee and Tang in IEEE Transaction ofComputer-Aided Design 1987. In operation, the layout compactiontechnique compacts the layout as much as possible while satisfying thegrid constraints. Minimum layout perturbation is another technique thatuses a new criterion for layout modification in the migration process tofix the design rules violations with minimum total perturbation of thelayout. Compared with the layout compaction technique, a minimum layoutperturbation-based legalization technique fixes the rule violations andpreserves the given layout as much as possible. The minimum layoutperturbation technique is also advantageous because it addresses caseswith conflicting rules that cause positive cycles and cannot be handledby the conventional longest path-based compaction techniques. Theminimum layout perturbation technique was first introduced in “A VLSIartwork legalization technique based on a new criterion of minimumlayout perturbation” by Heng et al. in International Symposium onPhysical Design 1997 and is disclosed in U.S. Pat. No. 6,189,132, whichis hereby incorporated by reference. Unfortunately, the original minimumlayout perturbation technique does not consider the grid constraints,which is required by RDR.

For purposes of clarity only, the following description includes thesub-headings:

I. System Overview

II. Operation Methodology

A. Details of Legalizing to Meet Grid Constraints on Critical Shapes andFix Ground Rule Violations in Direction 1—step S6

1. The MPRDR Problem

a) Background for Solving MPRDR Problem

b) Formulating Mixed Integer Linear Programming (MILP) Problem Relativeto Solving the MPRDR Problem

2. Overview of Heuristic Two-Stage Approach to Solve MPRDR Problem

a) Stage 1: Compute Target On-Pitch Positions

b) Stage 2: Legalize the layout with minimum layout perturbation

III. ALTERNATIVE EMBODIMENTS

IV. Conclusion

I. System Overview

With reference to the accompanying drawings, FIG. 4 is a block diagramof an integrated circuit (IC) design migration system 100 capable ofmigrating an integrated circuit (IC) design from a source technologywithout RDR to a target technology with RDR in accordance with theinvention. System 100 includes a memory 112, a processing unit (PU) 114,input/output devices (I/O) 116 and a bus 118. A database 120 may also beprovided for storage of data relative to processing tasks. Memory 112includes a program product 122 that, when executed by PU 114, comprisesvarious functional capabilities described in further detail below.Memory 112 (and database 120) may comprise any known type of datastorage system and/or transmission media, including magnetic media,optical media, random access memory (RAM), read only memory (ROM), adata object, etc. Moreover, memory 112 (and database 120) may reside ata single physical location comprising one or more types of data storage,or be distributed across a plurality of physical systems. PU 114 maylikewise comprise a single processing unit, or a plurality of processingunits distributed across one or more locations. I/O 116 may comprise anyknown type of input/output device including a network system, modem,keyboard, mouse, scanner, voice recognition system, CRT, printer, discdrives, etc. Additional components, such as cache memory, communicationsystems, system software, etc., may also be incorporated into system100. System 100 receives an IC design 200 to be legalized and outputs alegalized IC design 202. It should be recognized that system 100 may beincorporated as a part of a larger IC design system or be provided as aseparate system.

As shown in FIG. 4, program product 122 may include a shape analyzer124, a graph generator 125, a target position determinator 126, aminimum perturbation (hereinafter “minpert”) analyzer 128, a shapeinserter 130, a linear programming solver 160, and other systemcomponents 140. Target position determinator 126 may include a positionestimator 142, an analyzer 144, a width estimator 146, a shape placer148 and an updater 150. Other system components 140 may include anyother necessary functionality not expressly described herein.

It should be recognized that while system 100 has been illustrated as astandalone system, it may be included as part of a larger IC designsystem or a peripheral thereto.

II. Operational Methodology

Turning to the flow diagram of FIG. 5 in conjunction with FIGS. 4 and6-16, operation of system 100 will now be described in greater detail.As shown in FIG. 6, in an initial state, a design layout 210 includescritical shapes 212 of uniform orientation. A diffusion region 214 isshown below critical shapes 212.

The methodology starts with a design layout 210 (FIG. 6) in a sourcetechnology without RDR. After scaling layout 210 (FIG. 6) to the targettechnology such that the critical gates have the correct PC width overthe diffusion region required by the target technology, a preliminarydetermination is made by a shape analyzer 124 (FIG. 4) as to whetherthere are critical shapes of uniform orientation in the design layout.It should be recognized that the determination at step S1 may be simplyknown from the design layout. Alternatively, if necessary, some analysisto determine whether critical shapes 212 are present can be made, e.g.,a determination as to whether PC shapes are placed over diffusion region214 in the layout. If the design does not have critical shapes 212,i.e., NO at step S1, then there is no special handling in the migrationprocess. In this case, at step S2, a conventional minimum layoutperturbation-based (hereinafter “minpert”) legalization process isconducted by a minpert analyzer 128 to fix any ground rule violations.

When there are critical shapes 212, i.e., YES at step S1, how system 100addresses the situation depends on the orientation of the criticalshapes. In this case, at step S3, shape analyzer 124 determines theorientation of critical shapes 212. For vertical critical shapes (asshown in FIG. 6), at step S4, “Direction 1” is assigned as anX-direction (horizontal) and “Direction 2” is assigned as a Y-direction(vertical). In contrast, for horizontal critical shapes, at step S5,Direction 1 is assigned as a Y-direction (vertical) and Direction 2 isassigned as an X-direction (horizontal). In any event, system 100proceeds through the next five steps to legalize the layout for RDR andother ground rule constraints. For purposes of description, the criticalshape orientation is assumed to extend in a Y-direction (vertical onpage), as shown in FIG. 6. That is, a longitudinal axis of the pluralityof critical shapes extends in a Y-direction.

In step S6, the layout is legalized to meet an RDR grid constraint andfix any ground rule violation in Direction 1 by graph generator 125,target position determinator 126, and linear programming solver 160. Theinputs are scaled layout 210 (FIG. 6) where critical shapes are ofuniform orientation, and the coarse (grid) pitch P required by RDR. TheRDR grid constraints on critical shapes in this legalization step maybe, for example, when critical shapes are the gates, as follows: a) allthe critical shapes shall be placed on the coarse grid of pitch P; b)the space between the left edges of two adjacent critical shapes on acommon diffusion shall be either P or 2P; c) the space between the leftedges of two adjacent critical shapes not on a common diffusion shall bekP, where k is a positive integer number such that dummy shapes can beinserted to mimic the minimum pitch. The objective of this step is tolegalize a layout subject to the ground rules and the above three RDRgrid constraints with minimum layout perturbation of the originaldesign. Hereinafter, this problem shall be referred to as minimumperturbation legalization with RDR grid constraints (MPRDR). Details ofthe processing to solve this problem relative to graph generator 125 andtarget position determinator 126 will be described in a separate sectionbelow.

Steps S7-S9, collectively, represent a step of inserting required dummyshapes 216 (FIG. 8). It should be recognized that if no dummy shapes 216(FIG. 8) are necessary, steps S7, S8, and S9 may be omitted. It shouldalso be recognized that the steps S7, S8, and S9 may be replaced by anymethod of inserting required dummy shapes that does not introduce newground rule violations. For example, only an insertion step, similar tostep S8, alone could be conducted.

In a seventh step S7, the layout is legalized in Direction 1 to preparefor dummy shape insertion. The input is the legalized layout inDirection 1 with the critical shapes placed on the pitch from step S6.As shown in FIG. 7, in order to facilitate dummy shape insertion at adiffusion region 214 break between any two adjacent critical shapes 212,diffusion region 214 which overlaps past critical shapes is minimized tothe minimal value defined by a ground rule. In this step, a minpertanalysis is run by minpert analyzer 128 in Direction 1 with the gridpositions for critical shapes 212 frozen, but the other shapes allowedto move. In particular, minpert analysis is run by minpert analyzer 128in Direction 1 to pull diffusion region 214 as close to critical shapes212 as possible by changing the ground rule for diffusion region 214overlap past critical shapes 212 to be exactly equal to the minimumvalue an original design rule allows. In this fashion, diffusion regionsare reduced around the critical shapes.

Next, at step S8, as shown in FIG. 8, at least one dummy shape 216 maybe inserted by shape inserter 130 to satisfy a minimum spacingrequirement. In one embodiment, a dummy shape 216 is placed on pitch inany area that is within no more than two grid positions of a criticalshape 212, and is not covered by diffusion region 214 or another shape.

At step S9, the layout is legalized in Direction 1 to clear up ruleviolations due to dummy shape 216 insertion. The input is the layout, asshown in FIG. 8, with dummy shapes inserted. Due to the newly inserteddummy shapes 216, some ground rule violations may be introduced and thusa minpert legalization is run by minpert analyzer 128 in Direction 1 toclean up those ground rule violations. All critical shapes 212 and dummyshapes 216 are not moved during the legalization in this step. Onlycontacts, diffusion region 214 and PC wiring shapes are moved to fix theground rule violations

Next, at step S10, the layout is legalized to meet an “edge coverage”requirement of at least one critical shape and dummy shape and fix anyground rule violations in Direction 2. An “edge coverage” requirement isone for which a shape extension is necessary to ensure proper printingof an adjacent critical shape. In the gate orientation illustrated,Direction 2 is parallel to the longitudinal axis of the plurality ofactive regions, i.e., in a Y-direction. In this case, input is alegalized layout with dummy shapes inserted and ground rule correct inDirection 1. A minpert legalization is run by minpert analyzer 128 inDirection 2 to: a) clean up ground rule violations in Direction 2; b)extend critical shapes 212 (FIG. 9) and dummy shapes 216, as necessary,to include shape extension 219 to satisfy an “edge coverage” constraintfrom RDR, as shown in FIG. 9; c) make all horizontal PC wiringnon-critical, in order to minimize (or eliminate) issues of phase shiftmask layout. If a horizontal PC shape is non-critical, then only thecritical shapes and dummy shapes require phase shifting. The phase andblock mask shapes will be confined to the circuit rows, and will beforced to lay out in parallel stripes (as a result of the RDR gridconstraint).

Shape Extension Issues Relative to Step S10: With further regard to stepS10, following is the detailed description regarding how to constructconstraints for critical shape and dummy shape extension constraintsfrom RDR. Turning to FIGS. 10-16, a description of how shape extensionsin a minimum perturbation framework are applied by minpert analyzer 128will now be described. In general terms, in order to extend critical ordummy shapes, constraints are generated between adjacent shapes. Foreach dummy shape and critical shape, a marker shape is generated.“Marker shapes” as used herein mean auxiliary shapes which are added tothe design, and used when system 100 is required to apply a constraintor rule to some, but not all, of the shapes on a particular level. Inthose situations, the marker shapes are placed over the shapes that willbe modified. In this case, rules are applied to some of the PC shapesand some of the gates, but not to all of them. In addition, each markershape is a certain distance wider (e.g., one unit) than either side ofthe gates that it covers, and the ends of the marker shape are alignedexactly with the gate ends. The marker shape is represented on adifferent “level” in the design. Each marker shape level then isassigned a different set of ground rules and constraints with the PCshapes and gates. In this fashion, if a marker shape grows (or extends),it will push the minimum width section of the shapes it covers in frontof it as it grows. This is referred to as “plowing.”

FIGS. 10 and 11 illustrate an example of the above processing. In FIG.10, a vertical gate A and a neighbor gate B are shown. A marker shapeA_M for gate A and a marker shape B_M for gate B are placed. Markershapes A_M and B_M have ground rules assigned thereto that will forcethe minimum width pieces of gates A and B to grow if marker shapes A_Mand B_M grow. For example, minpert analyzer 128 may be instructed ordetermine that each end of marker shape B_M must be past the end of gateA by a distance X (the ground rule value), as shown in FIG. 10. In thiscase, as shown in FIG. 11, a lower end 222 of marker shape B_M must bebelow a lower end 220 of gate A by a value X and an upper end 226 ofmarker shape A_M must be above an upper end 224 of gate A by a value X.As a result, as shown in FIG. 11, marker shape B_M will stretch becauseof this ground rule, and will pull (or plow) the minimum width pieces ofgate B along with it.

Creating the Gate Extension Constraints: Ground rule constraints can beidentified by running the plane sweep algorithm. The algorithm sweeps avirtual line, called the scanline, across the individual edgescomprising the layout. When processing gate extensions, cornerrelationships between a marker shape and a gate are identified, and onlyconvex corners are considered. When sitting at a corner on one shape, abackward (for X-direction, to the left) looking review of a list ofprevious corners is made. Referring to FIG. 12, two types of cornersthat are looked backward from are defined: Type A: On the scanline, asone crosses this edge, one moves out of the shape; and Type B: On thescanline, as one crosses this edge, one moves into the shape. As shownin FIG. 13, when one looks backward, two types of convex corners arediscernible: Type C: As one moves from below the corner to above thecorner, one moves out of the shape; and Type D: As one moves from belowthe corner to above the corner, one moves into the shape. To illustrate,as shown in FIG. 14, when at a corner of type A, the following areconsidered: a corner of type C must be in sight, and a corner of type Dimplies that the wrong end of a gate is being considered. In addition,as shown in FIG. 15, the spacing from the scanline position to theposition of the corner must be exactly one or two pitches, minus theminimal PC width over RX, minus one unit (remember, one cover shape wasone unit wider than the minimum PC width over RX). Furthermore, theedges involved must overlap in their Y extents. Moreover, as shown inFIG. 16, it must be a closest corner in Y-coordinate meeting thecriteria above.

If all of the above-described conditions are met, then a constraint canbe generated that tells the corner of type A to stay above the corner oftype C by a distance of the extension value. This will pull the A cornerup to pass (extend past) the C corner. Corners of type B are similar,except that they match with corners of type D.

A. Details of Legalizing to Meet Grid Constraints on Critical Shapes andFix Ground Rule Violations in Direction 1—step S6

In step S6 of FIG. 5, the layout is legalized to meet an RDR gridconstraint for critical shapes and rule violations are fixed inDirection 1 by graph generator 125, target position determinator 126,and linear programming solver 160. As noted above, the RDR gridconstraints on critical shapes in this legalization step may be, forexample, when the critical shapes are gates, as follows: a) all thecritical shapes shall be placed on the coarse grid of pitch P; b) thespace between the left edges of two adjacent critical shapes on a commondiffusion shall be either P or 2P; c) the space between the left edgesof two adjacent critical shapes not on a common diffusion shall be kP,where k is a positive integer number such that dummy shapes can beinserted to mimic the minimum pitch. The widths of the critical shapesare assumed uniform and not changed during the legalization. Theobjective of this step is to legalize a layout subject to the groundrules and the above three RDR grid constraints, i.e., find a legalon-pitch location for each critical shape, with minimum layoutperturbation of the original design. Hence, this problem is referred toas minimum perturbation legalization with RDR grid constraints (MPRDR).Details of the problem and the invention's solution are described below.

1. The MPRDR Problem

a) Background for Solving MPRDR Problem

The problem of minimally modifying a starting layout with ground ruleviolations so that the resulting layout is ground rule correct was firstproposed in “A VLSI artwork legalization technique based on a newcriterion of minimum layout perturbation” by Heng et al. inInternational Symposium on Physical Design 1997 and is disclosed in U.S.Pat. No. 6,189,132. Unlike previous layout compaction techniques, whichmainly consider area minimization, minpert-based techniques attempt toimprove a given layout by correcting ground rule violations whilechanging the original layout as little as possible. This part of theinvention, as will be described below, simplifies the minpert problem byconsidering only the one-dimensional (1D) minimum layout perturbationproblem. A solution to the two-dimensional (2D) minimum layoutperturbation problem is obtained through successive applications of thesolution for the one-dimensional (1D) minimum layout perturbationproblem.

Similar to the constraint-based compaction techniques, the minpert-basedlegalization technique transfers edge location constraints into aconstraint graph. In a constraint graph, a node V_(i) represents alayout element E_(i), usually an edge of a polygon or an instance of anobject such as a transistor or a via. As used herein, V_(i)(X) denotesthe X-coordinate of the layout element E_(i). The minimum distancerequired by a design rule between two layout elements E_(i) and E_(j) isrepresented by a linear constraint of the form V_(j)(X)−V_(i)(X)≧d_(ij).The constraint corresponds to a directed arc A_(ij), from node V_(i) tonode V_(j) with weight d_(ij) in the constraint graph. The set ofconstraints that represents all the interacting elements forms theconstraint graph, G=(V, A), of the layout. For purposes of description,V_(i) ^(old)(X)

denotes the initial x-coordinate of a layout element E_(i). For aninitially ground rule correct layout, all the constraints are satisfied,i.e.,V _(j) ^(old)(X)−V _(i) ^(old)(X)≧d _(ij)

for all arcs A_(ij) in the constraint graph.

The perturbation on the layout is measured as the distance function froma given layout to the old (initial) layout. The 1D minpert problem isformulated as the following:min:Σ_(V) _(i) _(∈V)∥V_(i)(X)−V_(i) ^(old)(X)∥s.t.:V _(j)(X)−V _(i)(X)≧d _(ij) ,∀A _(ij) ∈AL−1 metric:∥V _(i)(X)−V_(i) ^(old)(X)∥=W _(i) ·|V _(i)(X)−V _(i)^(old)(X)|L−2 metric:∥V _(i)(X)−V _(i) ^(old)(X)∥=W _(i)·(V _(i)(X)−V_(i)^(old)(X))²  (1)

The objective function is then linearized by introducing two variablesL_(i), R_(i) for each edge E_(i) such that:L _(i) ≦V _(i)(X),L _(i) ≦V _(i) ^(old)(X),R _(i) ≧V _(i)(X),R _(i) ≧V_(i) ^(old)(X).

Then, Problem (1) is converted to a linear 1D minpert problem under theL1-metric:min:Σ_(ν) _(i) _(∈V)W_(i)·(R_(i)−L_(i))s.t.:V _(j)(X)−V _(i)(X)≧d _(ij) ,∀A _(ij) ∈AL _(i) ≦V _(i)(X),L _(i) ≦V _(i) ^(old)(X),∀V _(i) ∈VR _(i) ≧V _(i)(X),R _(i) ≧V _(i) ^(old)(X),∀V _(i) ∈V  (2)

In order to handle the case where there is no feasible solution, theformulation is further transformed by relaxing the constraints that arenot met in the initial layout and penalizing them in the objectivefunction. Let A_(e) be the set of arcs in A associated with constraintsthat are not satisfied initially, i.e.,V _(j) ^(old)(X)−V _(i) ^(old)(X)=D _(ij) <d _(ij).

A new variable M_(i) is defined for each arc A_(ij)∈A_(e). The problemis relaxed as follows:min:Σ_(ν) _(i) _(∈V)W_(i)·(R_(i)−L_(i))+λ·Σ_(A) _(ij) _(∈A) _(e)(M_(i)−V_(j)(X)+d_(ij))s.t.:V _(j)(X)−V _(i)(X)≧d _(ij) ,∀A _(ij) ∈A−A _(e)d _(ij) ≧V _(j)(X)−M _(i) ≧D _(ij) ,M _(i) −V _(i)(X)≧0,∀A _(ij) ∈A _(e)L _(i) ≦V _(i)(X),L _(i) ≦V _(i) ^(old)(X),∀V _(i) ∈VR _(i)≧V_(i)(X),R _(i) ≧V _(i) ^(old)(X),∀V _(i) ∈V  (3)

By choosing a very large value for λ, as many unsatisfied constraints inthe initial layout as possible can be satisfied as the second item inthe objective function is minimized to zero.

Due to the practical constraints imposed by the structure of industriallayout databases and manufacturing considerations, all the layoutcoordinates must be integers. If all d_(ij) andV_(i) ^(old)(X)

are integers, which is true in a layout migration problem, then thesolutions of Problem (2) and Problem (3) also consist of integers.Therefore, they can be solved as linear programming (LP) problems. Inaddition, they can be solved efficiently using a Graph-based Simplexalgorithm or linear programming solver due to the special structure ofthe problems.

The linear programming (LP) formula of Problem (3) provides a veryflexible optimization framework for VLSI artwork legalization. However,this formulation cannot handle RDR grid constraints because they are notconsidered in the constraint set. The invention's approach, describedbelow, for the MPRDR problem is based upon and extends the LPformulation to address this situation.

b) Formulating Mixed Integer Linear Programming (MILP) Problem Relativeto Solving the MPRDR Problem

The primary objective of solving the MPRDR problem is to find a legalon-pitch location for each critical shape. As before, the criticalshapes are assumed to be oriented vertically, and the legalizationproblem is solved in the horizontal direction (the gates are assignedX-coordinates in the layout). For the layout with critical shapes in ahorizontal orientation, the methodology works similarly.

As part of the ground rules, the RDR grid constraints on critical shapesform a special set of constraints in the linear programming formulation.Here, E_(cs) denotes the set of layout edges of critical shapes. As thewidth of the critical shape is uniform and not changed during thelegalization, one edge is used (either the centerline or the left edge)of a critical shape to represent the shape position. For purposes ofdescription, the left edge is used.

Given a constraint graph without RDR grid constraints G=(V, A) of alayout,V_(i) ^(g)

is a graph node that represents a layout edgeE_(i) ^(g)∈E_(cs),V_(i) ^(g)∈V,andV_(i) ^(g)(X)

denotes the X-coordinate of the edge. V_(RDR) is the set of graph nodesthat represent the layout edges of critical shapes constrained by thegrid constraints of RDR,V_(RDR)⊂V.A_(RDR) ^(s)

is the set of arcs that represent the RDR space constraints on adjacentcritical shapes that share the diffusion region, andA_(RDR) ^(ns)

is the set of arcs that represent the RDR space constraints on adjacentcritical shapes, which do not share the diffusion region. Then, theaugmented constraint graphG′=(V,A∪A _(RDR) ^(s) ∪A _(RSR) ^(ns))

represents all of the constraints including RDR.

Given a coarse pitch P for RDR constraints on critical shapes, the MPRDRcan be formulated as follows:min:Σ_(ν) _(i) _(∈V)W_(i)·(R_(i)−L_(i))s.t.:V _(j)(X)−V _(i)(X)≧d _(ij) ,∀A _(ij) ∈AL _(i) ≦V _(i)(X),L _(i) ≦V _(i) ^(old)(X),∀V _(i) ∈VR _(i) ≧V _(i)(X),R _(i) ≧V _(i) ^(old)(X),∀V _(i) ∈VV _(j) ^(g)(X)−V _(i) ^(g)(X)={P,2P},∀A _(ij) ∈A _(RDR) ^(s)V _(j) ^(g)(X)−V _(i) ^(g)(X)={P,2P . . . kP},∀A _(ij) ∈A _(RDR)^(ns)  (4)

All the variables must be integers. Furthermore,V_(i) ^(g)(X)

must be in a set of integer numbers because of the RDR spaceconstraints, which introduces a set of very stringent constraints intothe integer linear programming problem. If the constraint values arenormalized with respect to P, i.e., d_(ij) becomes d_(ij)/P, andV_(i) ^(old)(X)

becomesV_(i) ^(old)(X)/P,

Problem (4) can be approximated by a mixed integer linear programming(MILP) problem as follows:min:Σ_(ν) _(i) _(∈V)W_(i)·(R_(i)−L_(i))s.t.:V _(j)(X)−V _(i)(X)≧d _(ij) ,∀A _(ij) ∈AL _(i) ≦V _(i)(X),L _(i) ≦V _(i) ^(old)(X),∀V _(i) ∈VR _(i) ≧V _(i)(X),R _(i) ≧V _(i) ^(old)(X),∀V _(i) ∈VV _(j) ^(g)(X)−V _(i) ^(g)(X)={1,2};∀A _(ij) ∈A _(RDR) ^(s)V _(j) ^(g)(X)−V _(i) ^(g)(X)≧1, ∀A _(ij) ∈A _(RDR) ^(ns)V_(i) ^(g)(X) is integer,∀V_(i) ^(g)∈V_(RDR)  (5)

After obtaining a solution to Problem (5), the non-integer variables areconverted back to integer values, which may raise some rounding issues.In general, it is expensive to solve an MILP because it is acomputationally hard problem. Therefore, this approach is very complexand expensive to implement using conventional MILP solvers when the sizeof the problem is large.

2. Overview of Heuristic Two-Stage Approach to Solve MPRDR Problem

Referring to FIGS. 4 and 17, to address the above-described problems,system 100 (FIG. 4) implements a two-stage heuristic solution. As anoverview: In the first stage, the target on-pitch position is computedfor the critical shapes with minimum perturbation, while satisfying theRDR grid constraints. In the second stage, the layout is legalized bysolving the legalization problem as a linear programming problem bytreating the target on-pitch position of a critical shape as a groundrule space constraint between it and the design layout boundary. Inother words, the RDR related constraints in Problem (4) are relaxed andconverted to space constraints between the critical shapes and thedesign layout boundary based on the target on-pitch positions computedin the first stage so that the problem is transformed back to a linearprogramming problem, i.e., Problem (3).

a) Stage 1: Compute Target On-Pitch Positions

The first stage is to compute the target on-pitch positions for each ofthe critical shapes with minimum layout perturbation while satisfyingthe RDR grid constraints. These steps are carried, as will be describedbelow, by graph generator 125 and target position determinator 126. Theinputs are the pitch P, the grid constraints of RDR, and the originallocations of the critical shapes in pitch units. The outputs are thetarget on-pitch positions of critical shapes in pitch units that must beintegers.

The problem can be formulated as an Integer Linear Programming (ILP)problem as follows:min:Σ_(ν) _(i) _(∈V) _(RDR) W_(i)·(R_(i)−L_(i))s.t.:L _(i) ≦V _(i)(X),L _(i) ≦V _(i) ^(old)(X),∀V _(i) ∈V _(RDR)R _(i) ≧V _(i)(X),R _(i) ≧V _(i) ^(old)(X),∀V _(i) ∈V _(RDR)V _(j)(X)−V _(i)(X)={1,2},∀A _(ij) ∈A _(RDR) ^(s)V _(j)(X)−V _(i)(X)≧1,∀A _(ij) ∈A _(RDR) ^(ns)V_(i)(X) is integer,∀V_(i)∈V_(RDR)  (6)

Unlike Problem (2) where the numbers in the constraints are integers,the original locations of critical shapes in pitch units may not beintegers. Therefore, Problem (6) cannot be treated as a linearprogramming problem. Though this problem can be formulated into an ILPproblem, the invention does not use an ILP solver because it isexpensive to solve an ILP problem, and when there is no feasiblesolution for the problem, an ILP solver cannot return a result. However,for purposes of the invention, an improved result is better than noresult.

To address this situation, the invention implements a heuristicalgorithm to solve Problem (6). The algorithm includes two stages.

Stage 1, first step: First, as shown in FIG. 17 in step S101, a directededge-weighted graph, referred to herein as a “critical shapesneighborhood graph” (hereinafter “CSN-graph”) is generated by graphgenerator 125. Step S101 includes two sub-steps: modeling shapes (S101A)and assigning weights (S101B), which will be described below.

Stage 1, first step, first sub-step: In a first sub-step, step S101A,RDR grid constraints are modeled by graph generator 125 on the criticalshapes as a directed edge-weighted graph. To be specific, the criticalshapes and their neighborhood relationships are captured into aCSN-graph. The CSN-graph includes nodes that represent critical shapes,and arcs that represent the adjacency between two critical shapes andare weighted with either a minimum or a preferred grid spacing betweenthem in the context of the whole layout and design rules.

In this case, a “critical shape” is defined as a rectangular shape thatis required to comply with the RDR grid constraints, e.g., gridconstraints in RDR for critical gates. Critical shapes with verticalorientation a and b are considered “adjacent” in the X-direction if andonly if: 1) the projections onto the Y-axis of a and b overlap; 2)x(a)<x(b), where x(a) and x(b) are the X-coordinates of shapes a and b,respectively; and 3) there is no shape c where x(a)<x(c)<x(b), and theprojection onto the Y-axis of c overlaps with the projections onto theY-axis of both a and b. Examples are shown in FIG. 18, wherein thefollowing pairings are adjacent: u-w, u-v, w-x and v-x, and thefollowing pairings are not adjacent: u-y and u-x.

A CSN-graph is a directed graphG _(CSN)=(V,A).

Vertices represent the critical shapes that are required to meet the RDRgrid constraints in the layout and arcs represent the adjacency betweenthem in either X or Y direction. Vertex V_(i) corresponds to a criticalshape labeled as cs_(i) in a layout. Arc A_(ij) connects vertex V_(i) tovertex V_(j) if critical shapes cs_(i) and cs_(j) are adjacent, andcs_(i) is on the left of cs_(j). There are two types of arcs: a solidarc A_(ij) where the spacing constraints between the correspondingcritical shapes cs_(i) and cs_(j) are in the form ofV _(j)(X)−V _(i)(X)={P,2P}

where P is the pitch; and a dashed arc A_(ij) where the spacingconstraints between the corresponding critical shapes cs_(i) and cs_(j)are in the form ofV _(j)(X)−V _(i)(X)≧kP,k≧1

and is an integer. For an arc A_(ij) connecting vertices V_(i) andV_(j), V_(i) is called fanin vertex of V_(j), V_(j) is called fanoutvertex of V_(i), and A_(ij) is called fanin arc of V_(j) and fanout arcof V_(i).

In addition, there is a source vertex s and a sink vertex tin the graphwhere s corresponds to the left boundary of the layout and t correspondsto the right boundary of the layout. Dashed arcs from source s tovertices with no fanin vertices, and dashed arcs from vertices with nofanout vertices to sink t are added so that the CSN-graph is connected,i.e., any vertex is reachable from source s and can reach sink t. Eacharc A_(ij) is weighted using a non-negative integer w(A_(ij)) thatrepresents either the minimal or the preferred spacing between twoadjacent critical shapes represented by the connected vertices in theCSN-graph in the unit of the coarse pitch P.

The CSN-graph is a directed acyclic graph (DAG), which can be proven bycontradiction as follows. Assume there is a loop V₁→V₂→ . . . →V_(n)→V₁in the CSN-graph G_(CSN)=(V,A), and the X-coordinate of thecorresponding critical shape of vertex V_(i) is denoted as V_(i)(X) inthe initial layout. By the definition of the CSN-graph, V₁(X)<V₂(X)< . .. <V_(n)(X)<V₁(X), i.e., V₁(X)<V₁(X), which cannot hold. Therefore,since the assumption does not hold, there is no loop in the CSN-graphand the graph is a directed acyclic graph.

Referring to FIG. 19, under the context of RDR, gates that have theminimum PC width over RX are treated as critical shapes. Sometimesseveral gates are connected by a PC “trunk” with/without PC jogs, forexample, gates g₁ and g₂ share a PC “trunk” and a PC jog in FIG. 19C.For those gates which share a PC “trunk”, they are either treated as awhole or separately when determining their target on-pitch positions. Ifthey are treated separately, i.e., they are not constrained to have thesame target on-pitch position, it may bring more flexibility at the costof inserting additional PC jogs if there is no jog in the originallayout. If they are treated as a whole, i.e., they are constrained tohave the same target on-pitch position, the topology of the originallayout can be preserved at the cost of possible area increase afterlegalization. In order to differentiate the PC shapes that form gatesfrom PC wiring that connect gates, a “gate-PC shape” is defined as a PCshape that can represent the position of a critical gate or a set ofaligned critical gates. The gate-PC shapes are the critical shapes.

FIG. 19 shows how the gate-PC shapes are identified. When there is no PCjog between gates sharing the same PC “trunk”, one gate-PC shape isidentified to represent the gates (FIG. 19A). When the gates areconnected via a “T”-shape PC trunk, one gate-PC shape is used torepresent the gates (FIG. 19B). When the gates are connected via a PCjog, each gate is represented by a gate-PC shape (FIG. 19C). For morethan two gates sharing a PC trunk, the same modeling is applied. Forexample, in FIG. 19D, gates g₂ and g₃ are connected via a “T”-shape PCtrunk, so they are represented by one gate-PC shape. Another gate-PCshape represents gate g₁ that is connected to g₂ via a PC jog. In thecase where either none of the gates are connected via a PC trunk, orthere is a PC jog on each PC trunk, each gate is represented by agate-PC shape. If PC jogs are needed for flexibility, a pre-processorcan add them into the layout.

In the CSN-graph for gate-PC shapes (critical gates) which areconstrained by RDR spacing constraints), solid arc A_(ij) represents thecase where vertical gates g_(a) and g_(b) share a diffusion region (RXisland), g_(a) is represented by gate-PC shape cs_(i), and g_(b) isrepresented by gate-PC shape cs_(j), and cs_(i) and cs_(j) are adjacentin X-direction. Dashed arc A_(ij) represents the case where verticalgates g_(a) and g_(b) do not share a diffusion region (RX island), g_(a)is represented by gate-PC shape cs_(i), and g_(b) is represented bygate-PC shape cs_(j), and cs_(i) and cs_(j) are adjacent in X-direction.So, the grid constraints are represented by the CSN-graph under thecontext of RDR on critical gates.

An example of the PCN-graph 300 on a layout 302 is shown in FIG. 20.

Similar modeling can be applied to metal wiring shapes if they arecritical shapes under the similar grid constraints. In general, given aCSN-graph G=(V, A), V_(i)(P) denotes the target on-pitch position ofvertex V_(i),V_(i) ^(old)(X)

denotes the initial location (not necessary on pitch) of thecorresponding critical shape cs_(i). The boundary position of the layoutis given, that is, V_(s)(X)=0, V_(t)(X)=W, where W is the target designwidth in pitch units. The CSN-graph represents the RDR constraint asfollows: a) for a solid arc A_(ij) from vertex V_(i) to vertex V_(j)with weight of w(A_(ij)),2≧V _(j)(P)−V _(i)(P)≧w(A _(ij));

and b) for a dashed arc A_(ij) from vertex V_(i) to vertex V_(j) withweight of w(A_(ij)), V_(j)(P)−V_(i)(P)≧w(A_(ij)). The objective is tominimize the perturbation between the given position and the targetposition of each gate, i.e.,|V_(i)(P)−V_(i) ^(old)(X)|.

The critical shapes and their left/right neighborhood relationship canbe identified using the plane sweep algorithm which is commonly used forextracting circuit devices from VLSI layouts and generating geometricconstraints based on the VLSI design rules.

Stage 1, first step, second sub-step. Second sub-step S101B (FIG. 17)includes graph generator 125 assigning arc weights for the CSN-graph. Inparticular, each arc A_(ij) is weighted using a non-negative integerw(A_(ij)) that represents either the minimal or the preferred spacingbetween two adjacent critical shapes represented by the connectedvertices in the CSN-graph in the pitch unit.

The arc weight must be fairly accurate for estimation because itcontributes to the constraints on the target critical shape position.Overly optimistic estimation (small values) may lead to un-achievablesolution at the end of the second stage, while overly pessimisticestimation (large values) may lead to unnecessary area overhead.

The basic idea of weight assignment is to first estimate the leftmostand rightmost X-coordinates for a critical shape cs_(i), denoted aslx(cs_(i)), rx(cs_(i)) respectively, in a compacted layout based on theconstraint graph without grid constraints. Without loss of generality,it is assumed there is no positive cycle in the constraint graph G.However, if positive cycles exist, various known techniques can be usedto remove them. Given an arc A_(ij) connecting vertices V_(i) and V_(j)in the CSN-graph G_(CSN), the coarse pitch of P, and their correspondingcritical shapes cs_(i) and cs_(j) in the layout, if the estimatedleftmost position of cs_(i) is equal to its rightmost position and theestimated leftmost position of cs_(j) is equal to its rightmostposition, i.e., both cs_(i) and cs_(j) are “critical” in determining thewidth of the compacted layout, the weight of arc A_(ij) is assigned asthe smallest integer that is larger than (lx(cs_(j))−lx(cs_(i)))/P.Otherwise, the longest path L(cs_(i), cs_(j)) is estimated from cs_(i)to cs_(j) in the constraint graph G and the arc weight is set as thesmallest integer that is larger than L(cs_(i), cs_(j))/P.

Stage 1, second step. As shown in FIG. 17 in step S102, a graph-based,critical shape placement algorithm is implemented, via target positiondeterminator 126, to determine the target on-pitch gate positions basedon the CSN-graph.

The following definitions apply for a vertex V_(i) (and itscorresponding critical shape) in G_(CSN). All the positions (locations)are in coarse pitch units:V_(i) ^(old)(X):

the original x position of V_(i) in the initial layout with respect tothe cell left boundary;V_(i) ^(left)(P):

the leftmost valid on-pitch position of V_(i);V_(i) ^(right)(P):

the rightmost valid on-pitch position of V_(i);V_(i) ^(target)(P):

the target on-pitch position of V_(i); slack(V_(i)): the slack ofcandidate on-pitch positions of V_(i) and is computed asV_(i) ^(right)(P)−V_(i) ^(left)(P);

FI(V_(i)): the fanin arc set of vertex V_(i); and FO(V_(i)): the fanoutarc set of vertex V_(i). Input to target position determinator 126includes: CSN-graph of an initial layout G_(CSN)=(V,A), the originallocationV_(i) ^(old)(X)

of each vertex V_(i), the expected layout width after legalizationW_(e), the width of the initial layout W_(old). The output includes thetarget on-pitch positionV_(i) ^(target)(P) of V_(i).

The objective of this implementation is to obtain a valid solution withminimum location perturbation. Even when there is no feasible solution,the algorithm will return an integer solution with some violations onthe space constraints.

In the first sub-step S102A, an estimation of a range of possible validgrid positions of each critical shape (vertex in the CSN-graph) is madeby position estimator 142. In particular, in order to maintain the goalof minimum layout perturbation, the slack of each critical shape'sposition, with respect to the valid on-pitch position, is estimated atstep S102A by position estimator 142. Because the CSN-graph is a DAG,the topological order for vertices can be determined. This step mayinclude estimating the leftmost valid on-pitch position of V_(i), i.e.,V_(i) ^(left)(P),

and the rightmost valid on-pitch position of V_(i), i.e.,V_(i) ^(right)(P)

by: topologically sorting vertices in the CSN-graph G_(CSN)=(V,A);conducting a slack analysis by settingV_(s) ^(left)(P)

to 0 for source node s, visiting each vertex V_(j) in the topologicalorder, and settingV_(j) ^(left)(P)

to the maximal value among the sums of the leftmost position of itsfanin vertex and the weight of the fanin arc, that is,V_(j) ^(left)(P)←max {V_(i) ^(left)(P)+w(A_(ij))},∀A_(ij)∈FI(V_(j));

settingV_(t) ^(right)(P)

to the maximal betweenV_(s) ^(left)(P)

and W_(e) for sink node t; and visiting each vertex V_(i) in thereversed topological order, and settingV_(j) ^(right)(P)

to the minimal value among the difference of the rightmost position ofits fanout vertex and the weight of the fanout arc, that is,V_(i) ^(right)(P)←min{V_(j) ^(right)(P)−w(A_(ij))},∀A_(ij)∈FO(V_(i)).

Next, at sub-step S102B, an analysis of a slack value of the possiblevalid grid positions based on the CSN-graph is made by analyzer 144. Themore slack a critical shape has, the more freedom there exists inplacing it close to its original location and thus causing lessperturbation to the original layout. However, once the target locationof a critical shape is determined, it will constrain the slack of othercritical shapes. Therefore, the order of determining the target on-pitchposition for them matters. As will be described below, shape placer 148places critical shapes in the order of increasing slack so that the mostconstrained critical shapes are placed earliest and the ones with moreflexibility later in the process. Step S102B includes: for each vertexV_(i), set slack(V_(i)) to be the difference between its rightmostposition and leftmost position, that is,slack(V_(i))←V_(i) ^(right)(P)−V_(i) ^(left)(P);

and then sort the set of slack values (non-negative integer) innon-decreasing orderS_(slack)←{sk₀, sk₁, . . . , sk_(m)},

and mark all vertices “unanchored” except for source s and sink t,initialize the vertices set N_(a) as {s,t}, and N_(ua) as V−N_(a).

Next in sub-step S102C, an estimation of the minimum width of the layoutin terms of grids is made by width estimator 146. Step S102C includes:assigningW_(min)←V_(t) ^(left)(P),W_(target)←max{W_(e),W_(min)}.

and scaling the initial positions from the old layout dimension to thetarget dimension proportionally if necessary, i.e.,K←W_(target)/W_(old),V_(i) ^(old)(X)←K×V_(i) ^(old)(X),∀V_(i)∈V.

In sub-step S102D, critical shapes are placed by placer 148 with theleast slack in topological order within a corresponding valid positionrange and as close to the original position as possible. That is,critical shapes with less slack are positioned by placer 148 first, sothat more freedom can be left for other shapes with more slack. Thevertices are placed batch by batch based on their slack values innon-decreasing order. During each iteration, the un-placed vertices arepicked with the smallest slack to place. Vertices with the same slackare placed in their topological order. When determining the targeton-pitch location for vertexV_(i),

the position closest to its original locationV_(i) ^(old)(X)betweenV_(i) ^(left)(P)andV_(i) ^(right)(P)

is chosen as its target on-pitch location. Placement may include: setsk_(min) be the minimal slack in the slack set S_(slack), initializevertices set N_(crit) to be the vertices set of “unanchored” verticeswith slack of sk_(min), take sk_(min) value from slack set S_(slack),that is,sk_(min)←min{sk_(i),|sk_(i)∈S_(slack)},N_(crit)←{V_(i)|V_(i)∈N_(ua),slack(V_(i))=sk_(min)},S_(slack)←S_(slack)−{sk_(min)};

and visiting each vertex V_(j) in vertices set N_(crit), in thetopological order. If a vertex's slack value is zero, setV_(j) ^(target)(P)to beV_(j) ^(left)(P);

else update its leftmost valid on-pitch positionV_(j) ^(left)(P)←max{V_(i) ^(left)(P)+w(A_(ij))},∀A_(ij)∈FI(V_(j)).

If there is a solid fanin arc A_(ij) and V_(i) is in vertices set N_(a),update its rightmost valid on-pitch positionV_(j) ^(right)(P)←max(V_(j) ^(left)(P),min(V_(j) ^(right)(P),V_(i)^(target(P))+2)).

If there is a solid fanout arc A_(ji) and V_(i) is in vertices setN_(a), then update its leftmost valid on-pitch positionV_(j) ^(left)(P)←min(V_(j) ^(right)(P),max(V_(j) ^(left)(P),V_(i)^(target(P))−2)).

Next, assignV_(j) ^(target)(P)

to be the closest value toV_(j) ^(old)(X)betweenV_(j) ^(left)(P)andV_(j) ^(right)(P).

Mark V_(j) “anchored”, and update vertices set N_(a)←N_(a)+{V_(j)},N_(ua)←N_(ua)−{V_(j)}.

After each placement, at sub-step S102E, the leftmost and rightmoston-pitch positions of the un-placed vertices and their slack need to beupdated for “unanchored” vertices. This step may include: visiting each“unanchored” vertex V_(j) in the topological order, and updatingV_(j) ^(left)(P)←max{V_(i) ^(left)(P)+w(A_(ij)},∀A) _(ij)∈FI(V_(j));

then visiting each “unanchored” vertex V_(j) in the reversed topologicalorder, and updatingV_(i) ^(right)(P)←min{V_(j) ^(right)(P)−w(A_(ij))},∀A_(ij)∈FO(V_(i)).

Once those functions are completed, a slack value is updated for eachaffected vertex and the sorted slack set S_(slack) is updated.

Sub-steps S102D and 102E iterate until all the vertices are placed.

An example placement is shown in FIGS. 21A-E. The CSN-graph of a layoutis shown in FIG. 21A. After slack analysis, the slack and old positionof the vertices is marked in the form of[V_(i) ^(left)(P),V_(i) ^(right)(P)],V_(i) ^(old)(X),

near each vertex in FIG. 21B. In a first iteration, vertices V₁, V₂, V₃,V₄, V₅ are placed (“anchored”) as they have the smallest slack. Theslack of the “unanchored” vertices are updated, as shown in FIG. 21C. Inthe second iteration, vertices V₆, V₇, V₈, V₉ are placed based on theirslack and old positions and the slack of V₁₀ is updated, as shown inFIG. 21D. Lastly, vertex V₁₀ placed, as shown in FIG. 21E.

b) Stage 2: Legalize the Layout

With continuing reference to FIG. 17, the second stage includes stepS103, solving the legalization problem as a linear programming problemusing linear programming solver 160 (FIG. 4) by treating the targeton-pitch position of a critical shape as a set of ground rule spaceconstraints between it and the design layout boundary. As will bedescribed below, system 100 (FIG. 4) employs the LP formula of Problem(3) and uses either the Graph-based Simplex or standard LP solver 160 tosolve it.

After the target on-pitch positions are computed in step 102, i.e., foreach layout edge of gateE_(i) ^(g),

target on-pitch position is known asT(E_(i) ^(g))

with respect to the left boundary position of the layout, denoted asIf(X), the grid constraints are then converted in Problem (4) to a setof simple space constraints between the left boundary and gates. So, theconstraints of Problem (4) are relaxed as follows:min:Σ_(ν) _(i) _(∈V)W_(i)·(R_(i)−L_(i))s.t.:V _(j)(X)−V _(i)(X)≧d _(ij) ,∀A _(ij) ∈AL _(i) ≦V _(i)(X),L _(i) ≦V _(i) ^(old)(X),∀V _(i) ∈VR _(i) ≧V _(i)(X),R _(i) ≧V _(i) ^(old)(X),∀V _(i) ∈VV _(i) ^(g)(X)−V _(lf)(X)≧T(E _(i) ^(g)),∀V _(i) ^(g) ∈V _(RDR)V _(lf)(X)−V _(i) ^(g)(X)≧−T(E _(i) ^(g)),∀V _(i) ^(g) ∈V _(RDR)  (6)

As Problem (6) is of the same form as Problem (2), the unsatisfiedconstraints are relaxed similarly as follows. Let A_(e) be the set ofarcs in A associated with constraints that are not satisfied initially,i.e.,V _(j) ^(old)(X)−V _(i) ^(old)(X)=D _(ij) <d _(ij),

including the newly added space constraints between gates and the leftboundary of the design layout. Define a new variable M_(i) for each arcA_(ij)∈A_(e).

The problem is relaxed as follows:min:Σ_(ν) _(i) _(∈V−V) _(RDR) W_(i)·(R_(i)−L_(i))+λ·Σ_(A) _(ij) _(∈A)_(e) (M_(i)−V_(j)(X)+d_(ij))s.t.:V _(j)(X)−V _(i)(X)≧d _(ij) ,∀A _(ij) ∈A−A _(e)d _(ij) ≧V _(j)(X)−M _(i) ≧D _(ij) ,M _(i) −V _(i)(X)≧0,∀A _(ij) ∈A _(e)L _(i) ≦V _(i)(X),L _(i) ≦V _(i) ^(old)(X),∀V _(i) ∈VR _(i) ≧V _(i)(X),R _(i) ≧V _(i) ^(old)(X),∀V _(i) ∈V  (3)

By choosing a very large value for λ, as many unsatisfied constraints inthe initial layout as possible can be satisfied when the second item inthe objective function is minimized to zero. To allow the gates to movefreely, the location perturbation objectives are not applied to thecritical shape edges. Either a Graph-based Simplex or standard LP solver160 can be used to solve this problem. Because the target on-pitch gatelocations are computed with consideration of the necessary minimal spacebetween gates, generally they are achievable results in the secondstage, in other words, in the results of the second stage, theconstraints ofV_(i) ^(g)(X)

in Problem (6) are satisfied and the value ofV_(i) ^(g)(X)

is the same as its target on-pitch position.

III. ALTERNATIVE EMBODIMENTS

Turning to FIGS. 22-24, alternative embodiments of the invention willnow be described. In particular, FIG. 22 illustrates a block diagram ofa migration system 400 and FIG. 23 a flow diagram of operationalmethodology of migration system 400. It should be recognized thatmigration system 400 is substantially similar to migration system 100 ofFIG. 4, described above, and FIG. 23 is substantially similar to FIG. 5,described above, except for the additional functionality of thealternative embodiments. Accordingly, unless otherwise denoted, theoperational methodology of migration system 400 should be assumed to beas described above.

Migration system 400 (FIG. 22), compared to migration system 100 (FIG.4), further includes a designator shape inserter 402 having a featureinserter 404, and a compaction direction (dir.) prioritizer 410.

According to a first alternative embodiment, designator shape inserter402 is provided to allow insertion of a designator shape 420. Designatorshape 420 includes instructions (not shown) for migrating tools, i.e.,the rest of migration system 400, on how to change the design layoutadjacent the designator shape (i.e., step S6 of FIG. 5). For example, asshown in FIG. 24, a designator shape 420 may be inserted within a designlayout 422 prior to migration to reserve space for a feature 426. Inanother example, shown in FIG. 25A-B, a designator shape 420 providesinstructions on how to split a diffusion 427. Instructions may include,for example, at least one instruction regarding splitting a diffusion(FIG. 25A-B), adding space between features, and an amount of space tobe reserved for a feature (FIG. 24). Migration of a design layoutproceeds similarly to the embodiments described above from the sourcetechnology to the target technology while following instructionsprovided by designator shape 420. For example, legalizing the designlayout to meet an RDR grid constraint and fix any ground rule violationin a first direction; inserting required dummy shapes; and running aminimum perturbation analysis in order to address an edge coveragerequirement of at least one critical shape and fix any ground ruleviolation in a second direction. Subsequent to migration, according tothe first above-described example, a feature 426 may be inserted intothe reserved space by feature inserter 404 (FIG. 22) in any now known orlater developed fashion, e.g., manually by a conventional design layoutinterface or automatically by a conventional automated design layoutsystem. It should be recognized that while particular shapes(rectangles) of designator shape 420 and feature 426 have beenillustrated, the teachings of the invention are not limited to anyparticular shape.

Turning to FIGS. 22 and 23, in an another alternative embodiment of theinvention, compaction direction prioritizer 410 is provided toprioritize (step S6A in FIG. 24) a first direction and a seconddirection for compaction into a primary compaction direction based onwhich of the first and second directions has less tolerant ground rulesand a secondary compaction direction based on the direction having moretolerant ground rules. For example, certain ground rules allow tradeoffs between one direction and the other. This trade off can allow theuse of an aggressive value (i.e., a tight tolerance) in one directionand a conservative value (i.e., a more relaxed tolerance) in theperpendicular direction. This step is shown as step S6A in FIG. 24, andoccurs prior to the legalization step S6B in FIG. 24, which iscommensurate with step S6 in FIG. 5. This step allows for the use of thetighter tolerance values in the most critical optimization direction forthe purpose of achieving a more compact layout. More compact layouts areincreasingly significant relative to RDR because each spacing targetmissed by even one design grid point results in having to move a featureto the next (coarser) RDR grid position, which can be costly in terms ofspace. For example, for a 250 nm RDR grid, each features must occur atevery 0.25 μm. If a feature oversteps that 0.25 μm by even 0.001 μm,then it must be placed at the next whole RDR grid position, which wastesspace.

As also shown in FIG. 24, migration of the design layout from the sourcetechnology to the target technology in the primary compaction directionusing the less tolerant ground rules occurs next as steps S6B-10.Subsequent migration steps S6B-S9 proceed as described above using theprimary compaction direction. That is, the design layout is legalized tomeet an RDR grid constraint and fix any ground rule violation in theprimary compaction direction (S6B); and any required dummy shapes areinserted (S7-S9). The final migration step S10 legalizes the designlayout to meet “edge coverage” requirement and fix rule violations inthe secondary compaction direction (compared to the second direction).

IV. CONCLUSION

In the previous discussion, it will be understood that the method stepsdiscussed are performed by a processor, such as PU 114 of system 100,executing instructions of program product 122 stored in memory. It isunderstood that the various devices, modules, mechanisms and systemsdescribed herein may be realized in hardware, software, or a combinationof hardware and software, and may be compartmentalized other than asshown. They may be implemented by any type of computer system or otherapparatus adapted for carrying out the methods described herein. Atypical combination of hardware and software could be a general-purposecomputer system with a computer program that, when loaded and executed,controls the computer system such that it carries out the methodsdescribed herein. Alternatively, a specific use computer, containingspecialized hardware for carrying out one or more of the functionaltasks of the invention could be utilized. The present invention can alsobe embedded in a computer program product, which comprises all thefeatures enabling the implementation of the methods and functionsdescribed herein, and which—when loaded in a computer system—is able tocarry out these methods and functions. Computer program, softwareprogram, program, program product, or software, in the present contextmean any expression, in any language, code or notation, of a set ofinstructions intended to cause a system having an information processingcapability to perform a particular function either directly or after thefollowing: (a) conversion to another language, code or notation; and/or(b) reproduction in a different material form. In addition, it should berecognized that the above-described invention could be provided as athird party service.

While this invention has been described in conjunction with the specificembodiments outlined above, it is evident that many alternatives,modifications and variations will be apparent to those skilled in theart. Accordingly, the embodiments of the invention as set forth aboveare intended to be illustrative, not limiting. Various changes may bemade without departing from the spirit and scope of the invention asdefined in the following claims.

1. A method, performed on a computer system, for migrating an integratedcircuit (IC) design layout from a source technology without radicaldesign restrictions (RDR) to a target technology with RDR, the methodcomprising: using the computer system to perform the following:inserting a designator shape within the design layout prior to migrationto reserve space for a feature; and migrating the design layout from thesource technology without RDR to the target technology with RDR whilereserving space for the feature according to the designator shape,wherein the target technology with RDR comprises a fully gridded layoutthat constrains critical dimensions to lie in one orientation and atinteger multiples of a contacted device pitch, wherein the RDR requiresa limited number of narrow line widths, a single orientation of narrowfeatures, narrow features placed on a uniform and coarse pitch, auniform proximity environment for all critical gates and a limitednumber of pitches for critical gates; legalizing the design layout tomeet an RDR grid constraint and fix any ground rule violation in a firstdirection; inserting required dummy shapes; and running a minimumperturbation analysis in order address an edge coverage requirement ofat least one critical shape and fix any ground rule violation in asecond direction.
 2. The method of claim 1, wherein the designator shapeincludes instructions for the migrating step about how the designatorshape changes the design layout adjacent to the designator shape.
 3. Themethod of claim 2, wherein the instructions include at least oneinstruction regarding splitting a diffusion, adding space betweenfeatures, and an amount of space to be reserved for the feature.
 4. Themethod of claim 1, further comprising the step of inserting the featureinto the reserved space.
 5. A system for migrating an integrated circuit(IC) design layout from a source technology without radical designrestrictions (RDR) to a target technology with RDR, the systemcomprising: means for inserting a designator shape within the designlayout prior to migration to reserve space for a feature; and means formigrating the design layout from the source technology without RDR tothe target technology with RDR while reserving space for the featureaccording to the designator shape, wherein the target technology withRDR comprises a fully gridded layout that constrains critical dimensionsto lie in one orientation and at integer multiples of a contacted devicepitch, wherein the RDR requires a limited number of narrow line widths,a single orientation of narrow features, narrow features placed on auniform and coarse pitch, a uniform proximity environment for allcritical gates and a limited number of pitches for critical gates; meansfor legalizing the design layout to meet an RDR grid constraint and fixany ground rule violation in a first direction; means for insertingrequired dummy shapes; and means for running a minimum perturbationanalysis in order to address an edge coverage requirement of at leastone critical shape and fix any ground rule violation in a seconddirection.
 6. The system of claim 5, wherein the designator shapeincludes instructions for the migrating means about how the designatorshape changes the design layout adjacent to the designator shape.
 7. Thesystem of claim 6, wherein the instructions include at least oneinstruction regarding splitting a diffusion, adding space betweenfeatures, and an amount of space to be reserved for the feature.
 8. Thesystem of claim 5, further comprising means for inserting the featureinto the reserved space.
 9. A computer program product comprising acomputer useable medium having computer readable program code embodiedtherein for migrating an integrated circuit (IC) design layout from asource technology without radical design restrictions (RDR) to a targettechnology with RDR, the program product comprising: program codeconfigured to insert a designator shape within the design layout priorto migration to reserve space for a feature; and program code configuredto migrate the design layout from the source technology without RDR tothe target technology with RDR while reserving space for the featureaccording to the designator shape, wherein the target technology withRDR comprises a fully gridded layout that constrains critical dimensionsto lie in one orientation and at integer multiples of a contacted devicepitch, wherein the RDR requires a limited number of narrow line widths,a single orientation of narrow features, narrow features placed on auniform and coarse pitch, a uniform proximity environment for allcritical gates and a limited number of pitches for critical gates;program code configured to legalizing the design layout to meet an RDRgrid constraint and fix any ground rule violation in a first direction;program code configured to inserting required dummy shapes; and programcode configured to running a minimum perturbation analysis in order toaddress an edge coverage requirement of at least one critical shape andfix any ground rule violation in a second direction.
 10. The programproduct of claim 9, wherein the designator shape includes instructionsfor the migrating code about how the designator shape changes the designlayout adjacent to the designator shape.
 11. The program product ofclaim 10, wherein the instructions include at least one instructionregarding splitting a diffusion, adding space between features, and anamount of space to be reserved for the feature.
 12. The program productof claim 9, further comprising program code configured to insert thefeature into the reserved space.
 13. A method, performed on a computersystem, for migrating an integrated circuit (IC) design layout from asource technology without radical design restrictions (RDR) to a targettechnology with RDR, the method comprising: using the computer system toperform the following: prioritizing a first direction and a seconddirection for compaction into a primary compaction direction based onwhich of the first and second directions has less tolerant ground rulesand a secondary compaction direction based on the direction having moretolerant ground rules; and migrating the design layout from the sourcetechnology without RDR to the target technology with RDR in the primarycompaction direction using the less tolerant ground rules, wherein thetarget technology with RDR comprises a fully gridded layout thatconstrains critical dimensions to lie in one orientation and at integermultiples of a contacted device pitch, wherein the RDR requires alimited number of narrow line widths, a single orientation of narrowfeatures, narrow features placed on a uniform and coarse pitch, auniform proximity environment for all critical gates and a limitednumber of pitches for critical gates; legalizing the design layout tomeet an RDR grid constraint and fix any ground rule violation in theprimary compaction direction; inserting required dummy shapes; andrunning a minimum perturbation analysis in order to address an edgecoverage requirement of a least one critical shape and fix any groundrule violation in the secondary compaction direction.
 14. A system formigrating an integrated circuit (IC) design layout from a sourcetechnology without radical design restrictions (RDR) to a targettechnology with RDR, the system comprising: means for prioritizing afirst direction and a second direction for compaction into a primarycompaction direction based on which of the first and second directionshas less tolerant ground rules and a secondary compaction directionbased on the direction having more tolerant ground rules; and means formigrating the design layout from the source technology without RDR tothe target technology with RDR in the primary compaction direction,wherein the target technology with RDR comprises a fully gridded layoutthat constrains critical dimensions to lie in one orientation and atinteger multiples of a contacted device pitch, wherein the RDR requiresa limited number of narrow line widths, a single orientation of narrowfeatures, narrow features placed on a uniform and coarse pitch, auniform proximity environment for all critical gates and a limitednumber of pitches for critical gates; means for legalizing the designlayout to meet an RDR grid constraint and fix any ground rule violationin the primary compaction direction; means for inserting required dummyshapes; and means for running a minimum perturbation analysis in orderto address an edge coverage requirement of at least one critical shapeand fix any ground rule violation in the secondary compaction direction.15. A computer program product comprising a computer useable mediumhaving computer readable program code embodied therein for migrating anintegrated circuit (IC) design layout from a source technology withoutradical design restrictions (RDR) to a target technology with RDR, theprogram product comprising: program code configured to prioritize afirst direction and a second direction for compaction into a primarycompaction direction based on which of the first and second directionshas less tolerant ground rules and a secondary compaction directionbased on the direction having more tolerant ground rules; and programcode configured to migrate the design layout from the source technologywithout RDR to the target technology with RDR in the primary compactiondirection, wherein the target technology with RDR comprises a fullygridded layout that constrains critical dimensions to lie in oneorientation and at integer multiples of a contacted device pitch,wherein the RDR requires a limited number of narrow line widths, asingle orientation of narrow features, narrow features placed on auniform and coarse pitch, a uniform proximity environment for allcritical gates and a limited number of pitches for critical gates;program code configured to legalize the design layout to meet an RDRgrid constraint and fix any ground rule violation in the primarycompaction direction; program code configured to inserting requireddummy shapes; and program code configured to run a minimum perturbationanalysis in order to address an edge coverage requirement of at leastone critical shape and fix any ground rule violation in the secondarycompaction direction.